package com.ly.cloud.service;

import java.util.List;
import java.util.Map;

import com.ly.cloud.dto.XnDto;
import com.ly.cloud.dto.XnxqDto;
import com.ly.cloud.dto.XqDto;
import com.ly.cloud.vo.XnVo;
import com.ly.cloud.vo.XnxqVo;
import com.ly.cloud.vo.XqVo;

/**
 * 学年学期接口
 * @author caihuihai
 * @date 2018年12月11日 下午2:33:04
 */
public interface SemesterService {

	/**
	 * 查询学年列表
	 * @param xnmc
	 * @return
	 */
	List<XnVo> queryList(String xnmc);

	/**
	 * 新增学年
	 * @param dto
	 * @param loginUserName
	 * @return
	 */
	boolean insert(XnDto dto,String loginUserName);

	/**
	 * 修改学年
	 * @param dto
	 * @param loginUserName
	 * @return
	 */
	boolean updateById(XnDto dto,String loginUserName);

	/**
	 * 删除学年
	 * @param xnzj
	 * @return
	 */
	boolean delete(String xnzj);

	/**
	 * 查询学期列表
	 * @return
	 */
	List<XqVo> queryXqList();

	/**
	 * 新增学期
	 * @param dto
	 * @param loginUserName
	 * @return
	 */
	boolean insertXq(XqDto dto, String loginUserName);

	/**
	 * 修改学期
	 * @param dto
	 * @param loginUserName
	 * @return
	 */
	boolean updateXq(XqDto dto, String loginUserName);

	/**
	 * 删除学期
	 * @param xqdm
	 * @return
	 */
	boolean deleteXq(String xqdm);

	/**
	 * 查询学年学期列表
	 * @param xqdm 学期代码
	 * @param xndm 学年代码
	 * @param sfdqxq 是否当前学期
	 * @return
	 */
	List<XnxqVo> queryXnXqList(String xndm, String xqdm, String sfdqxq);

	/**
	 * 获取学年list
	 * @return
	 */
	List<XnVo> getXnList();

	/**
	 * 获取学期list
	 * @return
	 */
	List<XqVo> getXqList();

	/**
	 * 提交学年学期（新增和修改）
	 * @param dto
	 * @return
	 */
	boolean submitXnXq(XnxqDto dto);

	/**
	 * 删除学年学期
	 * @param xndm
	 * @param xqdm
	 * @return
	 */
	boolean deleteXnXq(String xndm, String xqdm);

	/**
	 * 根据学年主键查询学年信息
	 * @param xnzj
	 * @return
	 */
	XnVo findXnByZj(String xnzj);

	/**
	 * 根据学期主键查询学期信息
	 * @param xqdm
	 * @return
	 */
	XqVo findXqByZj(String xqdm);

	/**
	 * 根据学年主键和学期代码查询学年学期信息
	 * @param xndm
	 * @param xqdm
	 * @return
	 */
	XnxqVo findXnXqByZj(String xndm, String xqdm);

	/**
	 * 查询学年学期的列表(通用)
	 * @return List<String>
	 * @author luhuacong
	 * @date 2018/12/27
	 */
	List<String> selectXnXqListTy();
}
